package com.zatech.cgnci.project.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
@ApiModel("准备金详情VO")
public class CgnciClaimReserveVO {

    @ApiModelProperty("准备金ID")
    private Long reserveId;

    @ApiModelProperty("案件ID")
    private Long caseId;

    @ApiModelProperty("案件号")
    private String caseNo;

    @ApiModelProperty("保单号")
    private String policyNo;

    @ApiModelProperty("项目名称")
    private String projectName;

    @ApiModelProperty("汇率约定方式")
    private String rateType;

    @ApiModelProperty("汇率日期")
    private Date rateDate;

    @ApiModelProperty("汇率")
    private BigDecimal rate;

    @ApiModelProperty("备注")
    private String remarks;

    @ApiModelProperty("任务号")
    private String taskNo;

    @ApiModelProperty("任务状态")
    private String taskStatus;

    @ApiModelProperty(value = "当次计提/调整金额是否超过100万美元,码表值:isYes")
    private String isExceed;

    @ApiModelProperty("准备金明细")
    private List<ReserveDetailVO> details;

    @ApiModelProperty(value = "文件list")
    private List<CgnciAccessoryVO> accessoryVOList;

    @Data
    public static class ReserveDetailVO {
        @ApiModelProperty("明细ID")
        private Long detailId;

        @ApiModelProperty("险种")
        private String riskType;

        @ApiModelProperty("险种名称")
        private String riskTypeName;

        @ApiModelProperty("结算币种")
        private String settlementCurrency;


        @ApiModelProperty("调整前准备金(结算币种)")
        private BigDecimal beforeSettlementReserve;

        @ApiModelProperty("调整准备金(结算币种)")
        private BigDecimal settlementReserve;

        @ApiModelProperty("调整后准备金(结算币种)")
        private BigDecimal afterSettlementReserve;


        @ApiModelProperty("已批准准备金(结算币种)")
        private BigDecimal approvedReserve;

        @ApiModelProperty("最新调整准备金(结算币种)")
        private BigDecimal adjustReserve;

        @ApiModelProperty("最新调整后准备金(结算币种)")
        private BigDecimal afterAdjustReserve;

        @ApiModelProperty("原始币种")
        private String originalCurrency;


        @ApiModelProperty("调整前准备金(原始币种)")
        private BigDecimal beforeOriginalReserve;

        @ApiModelProperty("调整准备金(原始币种)")
        private BigDecimal originalReserve;

        @ApiModelProperty("调整后准备金(原始币种)")
        private BigDecimal afterOriginalReserve;


        @ApiModelProperty("已批准准备金(原始币种)")
        private BigDecimal approvedReserveOriginal;

        @ApiModelProperty("最新调整准备金(原始币种)")
        private BigDecimal adjustReserveOriginal;

        @ApiModelProperty("最新调整后准备金(原始币种)")
        private BigDecimal afterAdjustReserveOriginal;

        @ApiModelProperty("备注")
        private String remark;
    }
} 